LW2000

 

Nombre:                         ArtGem

Versión:                         1.0

Editor:                            RL Vision

Víctima:                         ARTGEM.EXE

Serial guardado en:         HKEY_CURRENT_USER\Software\RL Vision\ArtGem\

Herramientas:                W32Dasm

                                      Hacker’s View

                                      Cerebro

Cracker:                         LW2000

Tutorial:                         número 56

URL:                               http://www.rlvision.com

 

Renuncia: Este tutorial tiene una finalidad únicamente educativa. No asumo ninguna responsabilidad por el mal uso de éste material.

 

1.     Bien, ¡este tutorial es muy sencillo! Vamos al menú ‘Help’ y hacemos click en ‘Register’.

2.     Introducimos ‘LW2000’ como Name, ‘CiA’ como Company y ‘132099’ como KeyCode.

3.     Hacemos click en ‘Ok’. ¡Boooom! ‘Invalid Code’.

4.     ¡Hmmmm! ¡Un ‘bug’! ¡Sí, nos hemos encontrado con un ‘bug’! ¡Vamos a corregir esto!

5.     Abrimos ‘ARTGEM.EXE’ en W32Dasm y vamos a las String Data References (SDR). Hacemos doble click en nuestra cadena, con lo cual obtendremos éste trozo de código:

 

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:00403268(C)  <--- here we go

|

:004032F1 8B0DF4204600     mov ecx, dword ptr [004620F4]

:004032F7 6A10             push 00000010

 

* Possible StringData Ref from Data Obj ->"ArtGem"

                                  |

:004032F9 68A8814500       push 004581A8

 

* Possible StringData Ref from Data Obj ->"Invalid Key!"

                           |

:004032FE 68D4814500       push 004581D4

:00403303 51               push ecx

 

6.     Vamos a la dirección ‘00403268’ y echamos un vistazo al código:

 

:00403248 8D542444         lea edx, dword ptr [esp+44]

:0040324C 6A10             push 00000010

:0040324E 8D442420         lea eax, dword ptr [esp+20]

:00403252 52               push edx

:00403253 50               push eax

:00403254 E827810400       call 0044B380

:00403259 8D4C2428         lea ecx, dword ptr [esp+28]

:0040325D 51               push ecx

:0040325E E89DDDFFFF       call 00401000 >Rutima de comprobación

:00403263 83C410           add esp, 00000010

:00403266 85C0             test eax, eax       >Comprobación

:00403268 0F8483000000     je 004032F1  >¡Bad Boy!

:0040326E 8D7C2444         lea edi, dword ptr [esp+44]

:00403272 83C9FF           or ecx, FFFFFFFF

:00403275 33C0             xor eax, eax

 

7.     En la posición ‘0040325E’ tenemos un ‘CALL’ que es donde se comprueba el Serial. Si el Serial es correcto entonces ‘EAX = 1’ en caso contrario ‘EAX = 0’. Así que ¿qué podemos hacer? Vamos a la instrucción ‘CALL’ y vemos que el offset es ‘1000h’. Entonces abrimos el fichero con HIEW y modificamos el código.

8.     Dentro de HIEW pulsamo F5 y vamos al offset ‘1000h’, después pulsamos F3 para activar el modo Edit. Con F2 podremos introducir comandos ASM. Ahora escribimos:

 

mov eax,1       [Intro]

ret             [Intro]

       

9.     Pulsamos ‘Esc’ para cerrar la ventana de edición. Y guardamos nuestro trabajo. ¿Qué hemos hecho? Hemos movido un ‘1’ al registro ‘EAX’ y hemos salido del ‘CALL’. Por lo tanto cualquier Serial será correcto. ¡¡¡Pruébelo!!!

 

¡Enhorabuena! ¡Ya es usted un usuario registrado!

 

¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme un email a LW2000@gmx.net. o vaya a http://www.LW2000.cjb.net

 

Gracia a tKC por sus tutoriales. Empecé leyendo su primer tutorial y todavía sigo leyéndolos.

 

Traducción de: MeGaBiTe